From: Colin Walters Date: Mon, 1 Aug 2016 01:31:45 +0000 (-0400) Subject: grub2: Port away from gs_file_sync_data() X-Git-Tag: archive/raspbian/2022.1-3+rpi1~1^2~4^2~49^2~25 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:///%22http:/www.example.com/cgi/%22https:/www.github.com/%22bookmarks:/?a=commitdiff_plain;h=a843d16de22343bc55f0f584a77b5f5587e4ea23;p=ostree.git grub2: Port away from gs_file_sync_data() Inlining this is uglier, but this code kind of sucks anyways =( We're going to need to do some fd-relative porting in here at some point. Closes: #424 Approved by: giuseppe --- diff --git a/src/libostree/ostree-bootloader-grub2.c b/src/libostree/ostree-bootloader-grub2.c index 30edb7a5..b2c68ac9 100644 --- a/src/libostree/ostree-bootloader-grub2.c +++ b/src/libostree/ostree-bootloader-grub2.c @@ -389,8 +389,18 @@ _ostree_bootloader_grub2_write_config (OstreeBootloader *bootloader, goto out; /* Now let's fdatasync() for the new file */ - if (!gs_file_sync_data (new_config_path, cancellable, error)) - goto out; + { glnx_fd_close int new_config_fd = open (gs_file_get_path_cached (new_config_path), O_RDONLY | O_CLOEXEC); + if (new_config_fd < 0) + { + glnx_set_prefix_error_from_errno (error, "Opening %s", gs_file_get_path_cached (new_config_path)); + goto out; + } + if (fdatasync (new_config_fd) < 0) + { + glnx_set_error_from_errno (error); + goto out; + } + } if (self->is_efi) {